package org.fpp.jdk21study;

import java.util.ArrayList;
import java.util.List;

/**
 * @author bigbird-0101
 * @date 2024-02-19 16:54
 */
public class VarStudy {
    //作为方法的局部变量是啥样的
    static class JuBu{
        public static void main(String[] args) {
            var a="a";
            System.out.println(a);
            var b=new ArrayList<>();
            b.add("sabcd");

        }
    }
    //作为方法的入参是怎么样的  结论 不能作为方法入参 只能作为局部变量
    static class MethodParam{
        public static void main(String[] args) {
            var a=new ArrayList<String>();
            print(a);
        }
        public static void print(List<String> array){
            for (var i:array){
                System.out.println(i);
            }
        }

//        public static void print(var array){
//            for (var i:array){
//                System.out.println(i);
//            }
//        }
    }
    //变量赋值是咋样的
    static class BianLiang{
        public static void main(String[] args) {
            var a=1;
            var b=a;
            System.out.println(b);

            var abString=new Object();
            System.out.println(abString);
            var var=abString;
            System.out.println(var);
        }
    }
    //字节码是咋样的  看不出来区别 是从编译器识别到这个关键字
    //作为对象的属性是咋样的 并不能作为对象属性 只能作为局部变量。
//    static class ObjectProperty{
//        private var a;
//        private var b;
//    }
}
